package com.fufan.mtsaas.modules.newtech.xjsphase.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.io.Serializable;

/**
 * 阶段主表
 *
 * @author Liby
 * @date 2024-12-16
 */
@Data
@ApiModel(description = "阶段主表")
@TableName("xjs_phase")
public class XjsPhase implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    @ApiModelProperty(value = "系统ID")
    private Long id;
    @ApiModelProperty(value = "新技术项目ID")
    private Long techId;
    @ApiModelProperty(value = "项目编号")
    private String projectNo;
    @ApiModelProperty(value = "项目名称")
    private String name;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "项目描述")
    private String description;
    @ApiModelProperty(value = "项目分类 1-非限制类，2-限制类，3-上海首家")
    private Integer projectClass;
    @ApiModelProperty(value = "技术类别 1-手术操作，2-检验检查，3-其他治疗技术")
    private Integer techType;
    @ApiModelProperty(value = "申请部门")
    private Long applyDeptId;
    @ApiModelProperty(value = "申请人")
    private Long applyUserId;
    @ApiModelProperty(value = "医疗技术名称")
    private String techName;
    @ApiModelProperty(value = "准入日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date fillTime;
    @ApiModelProperty(value = "准入文号")
    private String fillNo;
    @ApiModelProperty(value = "相应诊疗科目")
    private String clinicName;
    @ApiModelProperty(value = "运行科室")
    private String runDep;
    @ApiModelProperty(value = "实际运行科室")
    private String realRunDep;
    @ApiModelProperty(value = "该项医疗技术被卫生部废除或者禁止使用: 1-有，0-无")
    private Integer stopClinicalApp1;
    @ApiModelProperty(value = "发生变化，不能正常临床应用: 1-有，0-无")
    private Integer stopClinicalApp2;
    @ApiModelProperty(value = "发生与该项医疗技术直接相关的严重不良后果: 1-有，0-无")
    private Integer stopClinicalApp3;
    @ApiModelProperty(value = "该项医疗技术存在医疗质量和医疗安全隐患: 1-有，0-无")
    private Integer stopClinicalApp4;
    @ApiModelProperty(value = "该项医疗技术存在伦理缺陷: 1-有，0-无")
    private Integer stopClinicalApp5;
    @ApiModelProperty(value = "该项医疗技术临床应用效果不确切: 1-有，0-无")
    private Integer stopClinicalApp6;
    @ApiModelProperty(value = "可能会对医疗技术临床应用带来不确定后果的: 1-有，0-无")
    private Integer technicalReview1;
    @ApiModelProperty(value = "该项医疗技术非关键环节发生改变的: 1-有，0-无")
    private Integer technicalReview2;
    @ApiModelProperty(value = "准予该项医疗技术诊疗科目登记后1年内未在临床应用的: 1-有，0-无")
    private Integer technicalReview3;
    @ApiModelProperty(value = "该项医疗技术中止1年以上拟重新开展的: 1-有，0-无")
    private Integer technicalReview4;
    @ApiModelProperty(value = "其他报告事项: 1-有，0-无")
    private Integer otherReport;
    @ApiModelProperty(value = "诊疗病例数")
    private Integer clinicCount;
    @ApiModelProperty(value = "不良反应: 1-有，0-无, 2-不涉及")
    private Integer undesirableEffect;
    @ApiModelProperty(value = "适应症: 1-有，0-无, 2-不涉及")
    private Integer indication;
    @ApiModelProperty(value = "适应症符合例数")
    private Integer indicationSatisfied;
    @ApiModelProperty(value = "适应症不符合例数")
    private Integer indicationUnsatisfied;
    @ApiModelProperty(value = "并发症: 1-有，0-无, 2-不涉及")
    private Integer complication;
    @ApiModelProperty(value = "合并症: 1-有，0-无, 2-不涉及")
    private Integer comorbidity;
    @ApiModelProperty(value = "随访数: 1-有，0-无, 2-不涉及")
    private Integer visiting;
    @ApiModelProperty(value = "临床应用效果有效例数")
    private Integer clinicalEffectValid;
    @ApiModelProperty(value = "临床应用效果不确切例数")
    private Integer clinicalEffectUnknown;
    @ApiModelProperty(value = "临床应用效果无效例数")
    private Integer clinicalEffectInvalid;
    @ApiModelProperty(value = "其他附件")
    private String additionalDocs;
    @ApiModelProperty(value = "状态：0-阶段评审填报；1-阶段评审下发；2-阶段评审确认；3-阶段评审完成")
    private Integer status;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    @ApiModelProperty(value = "启用状态 0：正常 1：禁用")
    private Integer isEnabled;

}
